/*
 * basic_header.h
 *
 *  Created on: 2024年9月13日
 *      Author: nwz
 */

#ifndef CODE_CONFIG_BASIC_HEADER_H_
#define CODE_CONFIG_BASIC_HEADER_H_

#include "config.h"

#include <stdint.h>
#include <iostream>
#include <vector>
#include <list>
#include <unordered_set>
#include <winsock2.h>
#include <Windows.h>
#include <psapi.h>
#include <winuser.h>

#include <sqlite3.h>

struct table_tab {
	int id;
	std::string name;
	int order_id;
	// actual window id
	int win_id;
};

struct table_menu {
	int id;
	std::string name;
	int order_id;
};

struct table_tab_win {
	int id;
	std::string title;
	int x;
	int y;
	int width;
	int height;
	int show_bar;
	int tab_id;
	std::string process_name;
	std::string process_arg;
	int touch_win;
	int find_with_name;
	// actual window id
	int win_id;
};

struct table_menu_cmd {
	int id;
	int menu_id;
	std::string process_name;
	std::string process_arg;
	int order_id;
};

struct table_config_int {
	std::string name;
	int value;
};

struct win_rect {
	int x, y, width, height;
};

#endif /* CODE_CONFIG_BASIC_HEADER_H_ */
